package com.android.support.lib.universal.view.dialog;

import com.android.support.lib.universal.R;
import com.android.support.lib.universal.util.Utilscreen;
import com.android.support.lib.universal.util.Utilview;

import android.annotation.SuppressLint;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.ImageView;
import android.widget.LinearLayout;

/**
 * 引导页弹窗
 *
 * @author 彭治铭
 */
public class AlertDialogGuide {
    Context context;
    android.app.AlertDialog dialog;
    public ImageView img_guide;

    /**
     * 引导界面
     *
     * @param context    上下文
     * @param drawId     资源文件
     * @param width      具体的宽度，大于0才有效,等于0也无效
     * @param height     具体的高度，大于0才有效，等于0也无效
     * @param alpha      弹窗屏幕透明度(0~1 0是透明， 1是不透明)
     * @param bool       false(按对话框以外的地方不起作用,即不会消失)，true(按其他区域会消失)。按返回键还起作用
     * @param left       左外补丁（相对于整个屏幕，取百分比。0~1获取-1~0之间，1代表100%）,其他数值则为具体的数值。以下同上。
     * @param top
     * @param right
     * @param bottom
     * @param HORIZONTAL 左右对齐方式，Gravity.LEFT，Gravity.RIGHT，Gravity.CENTER_HORIZONTAL
     * @param VERTICAL   垂直对齐方式，Gravity.TOP，Gravity.BOTTOM，Gravity.CENTER_VERTICAL
     */
    @SuppressLint("NewApi")
    public AlertDialogGuide(Context context, int drawId, int width, int height, float alpha,
                            Boolean bool, float left, float top, float right, float bottom,
                            int HORIZONTAL, int VERTICAL) {
        super();
        // TODO Auto-generated constructor stub
        this.context = context;

        dialog = new android.app.AlertDialog.Builder(context,
                R.style.FullscreenTransparent).create();// R.style.Dialog为布局主题，也可以用0
        dialog.show();
        dialog.setCanceledOnTouchOutside(bool);// 调用这个方法时，按对话框以外的地方不起作用。按返回键还起作用

        Window window = dialog.getWindow();
        // <item name="android:backgroundDimEnabled">true</item>,必须在style里设置
        window.setDimAmount(alpha);// 设置屏幕透明度
        window.setContentView(R.layout.lib_alertdialog_guide);// 弹出框的布局
        LinearLayout LinearLayout_guide = (LinearLayout) window
                .findViewById(R.id.LinearLayout_guide);

        img_guide = (ImageView) window.findViewById(R.id.img_guide);
        img_guide.setImageResource(drawId);

        Utilview utilview = new Utilview();

        utilview.setViewMargin(context, img_guide, left, top, right, bottom,
                LinearLayout_guide, HORIZONTAL, VERTICAL);
        utilview.setViewParam(img_guide, width, height);

        Utilscreen utilscreen = new Utilscreen(context);
        //全屏
        utilview.setViewParam(LinearLayout_guide, utilscreen.getScreenWidth(),
                utilscreen.getScreenHeight() - utilscreen.getStatusHeight());

        img_guide.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                dismiss();
            }
        });
//		utilview = null;
//		utilscreen = null;
    }

    /**
     * 关闭对话框
     */
    public void dismiss() {
        dialog.dismiss();
    }

}
